;------------------------------------------------------------------------
; 
;  Copyright and Disclaimer: 
;  
;     --------------------------------------------------------------- 
;     This software is provided "AS IS" without warranty of any kind, 
;     either expressed or implied, including but not limited to the 
;     implied warranties of noninfringement, merchantability and/or 
;     fitness for a particular purpose.
;     --------------------------------------------------------------- 
;   
;     Copyright (c) 2009 Conexant Systems, Inc. 
;     All rights reserved. 
;



[Version]
signature="$CHICAGO$"
Class=Media
ClassGUID={4d36e96c-e325-11ce-bfc1-08002be10318}
Provider="Conexant"
DriverVer=09/08/2010,6.0.120.64
CatalogFile=cx4CVBS.cat

[Manufacturer]
"Conexant"=Conexant, NTx86, NTamd64

[SourceDisksNames]
1="Conexant Polaris Drivers",,,""

[SourceDisksFiles]
cx4CVBS.sys=1
cpnotify.ax=1
cxtvrate.dll=1
y8cnvt.ax=1
merlind.rom=1
CxPolaris.ax=1

[Conexant.NTx86]
%CXPOLARIS.DeviceDesc-4CVBS%=POLARIS.4CVBS,  	   USB\VID_0572&PID_58A8&MI_01


;If CIR function is not wanted, install this dummy CIR driver
%CXPOLARIS.DeviceDesc-CIR%=POLARIS.CIR,  USB\VID_0572&PID_58A8&MI_00


[Conexant.NTamd64]
%CXPOLARIS.DeviceDesc-4CVBS%=POLARIS.4CVBS,  	   USB\VID_0572&PID_5A3C&MI_01

;If CIR function is not wanted, install this dummy CIR driver
%CXPOLARIS.DeviceDesc-CIR%=POLARIS.CIR,  USB\VID_0572&PID_5A3C&MI_00

[POLARIS.CIR]

[POLARIS.CIR.NT]

[POLARIS.CIR.NT.Services]
AddService = , 2  ; null service install

[POLARIS.4CVBS]
Include=    ks.inf, kscaptur.inf,ksfilter.inf, wdmaudio.inf, bda.inf
Needs=      KS.Registration, KSCAPTUR.Registration,MSPCLOCK.Installation, WDMAUDIO.Registration, BDA.Registration, bda.Installation
AddReg=     POLARIS.AddReg,POLARISVID.AddReg,WIN2K_AUDIO_CAPTURE.Addreg,4CVBS.AddReg
CopyFiles=  CXPOLARIS.CopyDrivers,DSFilters.CopyFiles
RegisterDlls=DSFilters.RegDLL    

[POLARIS.4CVBS.NT]
Include=    ks.inf, kscaptur.inf,ksfilter.inf, wdmaudio.inf, bda.inf
Needs=      KS.Registration, KSCAPTUR.Registration.NT,MSPCLOCK.Installation, WDMAUDIO.Registration, BDA.Registration, bda.Installation.NT
AddReg=     POLARIS.AddReg,PolarisVID.AddReg, 4CVBS.AddReg
CopyFiles=  CXPOLARIS.CopyDrivers,DSFilters.CopyFiles
RegisterDlls=DSFilters.RegDLL


[DestinationDirs]
CXPOLARIS.CopyDrivers=10,system32\drivers
DSFilters.CopyFiles=11

[CXPOLARIS.CopyDrivers]
cx4CVBS.sys
merlinD.rom

[DSFilters.CopyFiles]
cpnotify.ax
cxtvrate.dll
y8cnvt.ax
CxPolaris.ax


[DSFilters.RegDLL]
11,,cpnotify.ax,1
11,,cxtvrate.dll,1
11,,y8cnvt.ax,1
11,,CxPolaris.ax,1

[WIN2K_AUDIO_CAPTURE.Addreg]

HKR,Drivers,SubClasses,,"wave"
HKR,Drivers\wave\wdmaud.drv, Driver,,wdmaud.drv
HKR,Drivers\wave\wdmaud.drv,Description,,%PolarisAudioFriendlyName%

[PolarisVID.AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,cx4CVBS.sys
HKR,,OkToHibernate,3,01
; Disable driver page out
HKR,,PageOutWhenUnopened,3,0
;HKR,,PageOutWhenUnopened,3,01
HKR,,DontSuspendIfStreamsAreRunning,3,01

HKLM,%MediaInterfaces%\{0A7AF963-6805-4f99-B284-29B680975542},,,"Copy Protect Notification Filter"
HKLM,%MediaInterfaces%\{0A7AF963-6805-4f99-B284-29B680975542},IID,1,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

HKLM,%MediaCategories%\%POLARIS_GUID.PINNAME_ANALOG_AUDIO_IN%,Name,,%Pin.p2AnalogAudioIn%
HKLM,%MediaCategories%\%POLARIS_GUID.PINNAME_AUDIO_OUT%,Name,,%PinName.AnalogAudioOut%

;Add the property pages
;
HKCR,CLSID\%GUID.DriverVersion_Properties%\InprocServer32,,,Cxpolaris.ax
HKCR,CLSID\%GUID.DriverVersion_Properties%\InprocServer32,ThreadingModel,,Both
HKLM,%MediaSets%\%GUID.POLARIS_VERSION_INFORMATION_PROPERTIES%\PropertyPages\%GUID.DriverVersion_Properties%,,,

HKCR,CLSID\%GUID.Select_Video_Input%\InprocServer32,,,Cxpolaris.ax
HKCR,CLSID\%GUID.Select_Video_Input%\InprocServer32,ThreadingModel,,Both
HKLM,%MediaSets%\%GUID.POLARIS_VERSION_INFORMATION_PROPERTIES%\PropertyPages\%GUID.Select_Video_Input%,,,

;Copy protection method enforced by driver
HKR,"DriverData","CpMethod",0x00010001, 0xFE, 0x00, 0x00, 0x00



;------------------------------

[POLARIS.AddReg]


;-------------------------------------------------------------------
; Crossbar AddReg sections
;
;---Crossbar registry values---
;
; Note: For each pin on the crossbar, specify the following:
; (1) Pin type
;     0 - SVIDEO
;     1 - Tuner
;     2 - Composite
;     3 - audio tuner in
;     4 - audio line in
;     7 - YUV
; (2) InputMux - input mux to use for the selected pin
; (3) RelatedPinIndex
;-------------------------------------------------------------------


;---Crossbar registry values---
;Pin 0 - S-Video in
; Input Mux       : VIN1_1 for Luma, VIN1_2 for Chroma
HKR,"DriverData\XBarPin0","PinType",0x00010001, 0x00,0x00,0x00,0x00
HKR,"DriverData\XBarPin0","InputMux",0x00010001, 0x01,0x01,0x00,0x00
HKR,"DriverData\XBarPin0","RelatedPinIndex",0x00010001, 0x03,0x00,0x00,0x00

;Pin 1 - Composite in
; Input Mux       : VIN2_1 for Composite
HKR,"DriverData\XBarPin1","PinType",0x00010001, 0x02,0x00,0x00,0x00
HKR,"DriverData\XBarPin1","InputMux",0x00010001, 0x02,0x00,0x00,0x00
HKR,"DriverData\XBarPin1","RelatedPinIndex",0x00010001, 0x03,0x00,0x00,0x00


;Pin 2 - Component(YPbPr) in: VIN2_1 for Y, VIN2_2 for Pr, VIN1_3 for Pb, 
HKR,"DriverData\XBarPin2","PinType",0x00010001, 0x07,0x00,0x00,0x00
HKR,"DriverData\XBarPin2","InputMux",0x00010001, 0x02,0x02,0x01,0x00
HKR,"DriverData\XBarPin2","RelatedPinIndex",0x00010001, 0x03,0x00,0x00,0x00


;Pin 3 - Audio Line in
HKR,"DriverData\XBarPin3","PinType",0x00010001, 0x04,0x00,0x00,0x00
HKR,"DriverData\XBarPin3","InputMux",0x00010001, 0x00,0x00,0x00,0x00
HKR,"DriverData\XBarPin3","RelatedPinIndex",0x00010001, 0x01,0x00,0x00,0x00
HKR,"DriverData\XBarPin3","GpioMask",0x00010001, 0x01,0x00,0x00,0x00
HKR,"DriverData\XBarPin3","GpioSettings",0x00010001, 0x00,0x00,0x00,0x00

;Pin 4 - Tuner In
; Input Mux       : VIN2_1 for Tuner input from Dummy tuner
HKR,"DriverData\XBarPin4","PinType",0x00010001, 0x01,0x00,0x00,0x00
HKR,"DriverData\XBarPin4","InputMux",0x00010001, 0x02,0x00,0x00,0x00
HKR,"DriverData\XBarPin4","RelatedPinIndex",0x00010001, 0x03,0x00,0x00,0x00

;Pin 5 - Tuner Audio
HKR,"DriverData\XBarPin5","PinType",0x00010001, 0x03,0x00,0x00,0x00
HKR,"DriverData\XBarPin5","InputMux",0x00010001, 0x00,0x00,0x00,0x00
HKR,"DriverData\XBarPin5","RelatedPinIndex",0x00010001, 0x00,0x00,0x00,0x00

;CVBS in video is the default
HKR,"DriverData","VideoInputPin",0x00010001, 0x01,0x00,0x00,0x00

;Line in audio is the default audio
HKR,"DriverData","AudioInputPin",0x00010001, 0x03,0x00,0x00,0x00

HKR,"DriverData","ForceAudioWithVideoPin",0x00010001, 0x01,0x00,0x00,0x00

;Safely_Remove_Hardware=1: enable, by default
;Safely_Remove_Hardware=0: disable, then Polaris will not appear in the safely remove hardware icon list. 
HKR,"DriverData","Safely_Remove_Hardware",0x00010001, 0x01, 0x00, 0x00, 0x00

;--------------------------------------------------------------
;-----CVBS baseband only board --------------------------------

[4CVBS.AddReg]

;---Tuner registry values------
;Tuner Type - Null Si Tuner = 0x29 = 41D
HKR,"DriverData","TunerType",0x00010001, 0x29, 0x00, 0x00, 0x00

;DVT=0,EVK=1,FPGA=2,4CVBS=13
HKR,"DriverData","BoardType",0x00010001, 0x0D, 0x00, 0x00, 0x00

; for creating unique serial number to Tuners on the board
HKR,"DriverData","NoOfTuners",0x00010001, 0x01, 0x00, 0x00, 0x00

;Enable TS capture and BDA filter registration
HKR,"DriverData","Enable_BDA",0x00010001, 0x00, 0x00, 0x00, 0x00

;Enable SoftEncode - TRUE
HKR,"DriverData","Enable_SW_Encoder",0x00010001, 0x00, 0x00, 0x00, 0x00


; Sony format = 1, Philips format = 0
HKR,"DriverData","I2SInputFormat",0x00010001, 0x00, 0x00, 0x00, 0x00

HKR,"DriverData","EnableAFAudio",0x00010001, 0x01, 0x00, 0x00, 0x00
HKR,"DriverData","GpioMaskFM",0x00010001, 0x01, 0x00, 0x00, 0x00
HKR,"DriverData","GpioSettingFM",0x00010001, 0x01, 0x00, 0x00, 0x00

HKR,"DriverData","VideoStandard",0x00010001, 0x01,0x00,0x00,0x00

;Gain has 7 levels in volume up and down directions. each level gives 6db gain or attenuation
;for attenuation we need to use 2's complement values. 
;for Gain we use levels 1-7, for attenuation we use levels 0x9(-7) - 0xF (-1)
HKR,"DriverData","FMAudioGain",0x00010001, 0x1, 0x00, 0x00, 0x00


; for Polaris testing, select HANC to transfer Audio
HKR,"DriverData","EnableHANCAudioOut",0x00010001, 0x00, 0x00, 0x00, 0x00

; ----GPIO Pin values -----
; IMPORTANT !!! if any GPIO is not used - just delete the corresponding entry !!!

; AGC_Analog_Digitial_Select_Gpio_Bit is controlled by GPIO 12
HKR,"DriverData","AGC_Analog_Digitial_Select_Gpio_Bit", 0x00010001, 0x0C, 0x00, 0x00, 0x00
;gpio pin status mask, useless pin bit is 0 ;useful pin bit is 1
HKR,"DriverData","gpio_pin_status_mask",0x00010001, 0x4001000

;PIN_CTRL pin status mask, useless pin bit is 0 ;useful pin bit is 1
HKR,"DriverData","ctrl_pin_status_mask",0x00010001, 0xFFFFFFC4


;I2C speed: 0-1M,1-400K,2-100K,3-5M
HKR,"DriverData","I2CSpeed",0x00010001, 0x1, 0x00, 0x00, 0x00

;I2C mode: 0-STOP, 1-NON STOP
HKR,"DriverData","I2CMode",0x00010001, 0x0, 0x00, 0x00, 0x00


;tuner category : 0 - Analog, 1 - Digital , 2 - Hybrid
HKR,"DriverData","TunerCategory",0x00010001, 0x00, 0x00, 0x00, 0x00

;--------------------------------------------------------------

[POLARIS.4CVBS.Interfaces]
AddInterface={65e8773d-8f56-11d0-a3b9-00a0c9223196},%KsNameFilter%,VID_Polaris_4CVBS_Interface,
AddInterface={a799a802-a46d-11d0-a18c-00a02401dcd4},%PolarisTVAudioReferenceGuid%,TvAudio_PolarisInterface,
AddInterface={a799a801-a46d-11d0-a18c-00a02401dcd4},%PolarisXBARReferenceGUID%,CXXBAR_PolarisInterface,
AddInterface={a799a800-a46d-11d0-a18c-00a02401dcd4},%PolarisTunerReferenceGuid%,CXTUNE_PolarisInterface,
AddInterface=%KSCATEGORY_AUDIO%,%PolarisAudioReferenceGuid%,AUD_PolarisInterface

[POLARIS.4CVBS.NT.Interfaces]
AddInterface={65e8773d-8f56-11d0-a3b9-00a0c9223196},%KsNameFilter%,VID_Polaris_4CVBS_Interface,
AddInterface={a799a802-a46d-11d0-a18c-00a02401dcd4},%PolarisTVAudioReferenceGuid%,TvAudio_PolarisInterface,
AddInterface={a799a801-a46d-11d0-a18c-00a02401dcd4},%PolarisXBARReferenceGUID%,CXXBAR_PolarisInterface,
AddInterface={a799a800-a46d-11d0-a18c-00a02401dcd4},%PolarisTunerReferenceGuid%,CXTUNE_PolarisInterface,
;AddInterface=%KSCATEGORY_AUDIO%,%PolarisAudioReferenceGuid%,AUD_PolarisInterface,
AddInterface=%KSCATEGORY_AUDIO_CAP%,%PolarisAudioReferenceGuid%,AUD_PolarisInterface,

[VID_Polaris_4CVBS_Interface]
AddReg=VID_PolarisInterface.AddReg
AddReg=POLARIS_4CVBS_DESCRIPTION.AddReg


[VID_PolarisInterface.AddReg]
HKR,,CLSID,,%Proxy.CLSID%       ; {17CCA71B-ECD7-11D0-B908-00A0C9223196}
HKR,,FriendlyName,,%PolarisVIDFriendlyName%

[POLARIS_4CVBS_DESCRIPTION.AddReg]
HKR,,Description,,%CXPOLARIS.DeviceDesc-4CVBS%

[AUD_PolarisInterface]
AddReg=AUD_PolarisInterface.AddReg

[AUD_PolarisInterface.AddReg]
HKR,,CLSID,,%Proxy.CLSID%       ; {17CCA71B-ECD7-11D0-B908-00A0C9223196}
HKR,,FriendlyName,,%PolarisAudioFriendlyName%


[TvAudio_PolarisInterface]
AddReg=TvAudio_PolarisInterface.AddReg

[TvAudio_PolarisInterface.AddReg]
HKR,,CLSID,,%CLSID_TVAudioFilter%
HKR,,FriendlyName,,%PolarisTVAudioFriendlyName%

[CXXBAR_PolarisInterface]
AddReg=CXXBAR_PolarisInterface.AddReg

[CXXBAR_PolarisInterface.AddReg]
HKR,,CLSID,,%CLSID_CrossbarFilter%
HKR,,FriendlyName,,%PolarisXBARFriendlyName%

[CXTUNE_PolarisInterface]
AddReg=CXTUNE_PolarisInterface.AddReg

[CXTUNE_PolarisInterface.AddReg]
HKR,,CLSID,,%CLSID_CTVTunerFilter%
HKR,,FriendlyName,,%PolarisTunerFriendlyName%

;
; Services installation
;

[POLARIS.4CVBS.Services]
AddService = CX4CVBS,2,PolarisVID.4CVBS.ServiceInstall

[POLARIS.4CVBS.NT.Services]
AddService = CX4CVBS,2,PolarisVID.4CVBS.ServiceInstall


[PolarisVID.4CVBS.ServiceInstall]
;DisplayName   = %CXPOLARIS.DeviceDesc-4CVBS%
ServiceType   = 1
StartType     = 3
ErrorControl  = 1
ServiceBinary = %10%\system32\drivers\cx4CVBS.sys


;---------------------------------------------------------------
;                S t r i n g s
;---------------------------------------------------------------

[Strings]

;
; Device Names

CXPOLARIS.DeviceDesc-4CVBS           = "NETDVR USB AV Capture"
CXPOLARIS.DeviceDesc-CIR             = "NETDVR USB AV Capture A"

; Friendly Names
;
PolarisVIDFriendlyName              = "NETDVR USB Video Capture"
PolarisTVAudioFriendlyName          = "NETDVR USB TvAudio"
PolarisTunerFriendlyName            = "NETDVR USB Tuner"
PolarisAudioFriendlyName            = "NETDVR USB Audio Capture"
PolarisXBARFriendlyName             = "NETDVR USB Crossbar"

; Reference GUIDS
;
KsNameFilter                      = "{9B365890-165F-11D0-A195-0020AFD156E4}"
PolarisTVAudioReferenceGuid         = "{D8D86791-A570-4a10-8457-08C957E90ECD}"
PolarisXBARReferenceGUID            = "{47B00748-34A2-4000-A892-BA2ABF2E2BE4}"
PolarisTunerReferenceGuid           = "{F7CCD5C2-8766-4401-BF9D-ECF5FE0A07C0}"
PolarisAudioReferenceGuid           = "{5EAF914D-2212-4034-8C4C-02CAFD15D68A}"
;
; Pin Name GUIDS
;
POLARIS_GUID.PINNAME_ANALOG_AUDIO_IN = "{3E2D189F-B15C-4447-96F1-BD1D64FB99BA}"
POLARIS_GUID.PINNAME_AUDIO_OUT       = "{13FFFECC-3C46-4e52-8B07-4ED850E5FB49}"

;
; Pin Names
;
PinName.AnalogAudioOut            = "Audio Out"
Pin.p2AnalogAudioIn               = "Analog Audio In"

;
; PROPSETIDs in the driver
;
GUID.POLARIS_VERSION_INFORMATION_PROPERTIES = "{2038EEA5-AE84-4a00-B174-9673AB35F1DC}"


; Property page GUIDS
;
GUID.DriverVersion_Properties="{1979C7E7-FB3B-42ff-B070-0D8F49A1A42D}"
GUID.Select_Video_Input="{F4B051B1-F477-4aff-82F9-CFD6226FBFCB}"


;
; Other Strings
;

KSCATEGORY_AUDIO             = "{6994AD04-93EF-11D0-A3CC-00A0C9223196}"
KSCATEGORY_AUDIO_CAP         = "{33D9A762-90C8-11D0-BD43-00A0C911CE86}"
CLSID_TVAudioFilter          = "{71F96462-78F3-11d0-A18C-00A0C9118956}"
CLSID_CrossbarFilter         = "{71F96460-78F3-11d0-A18C-00A0C9118956}"
CLSID_CTVTunerFilter         = "{266EEE40-6C63-11cf-8A03-00AA006ECB65}"


Proxy.CLSID                  = "{17CCA71B-ECD7-11D0-B908-00A0C9223196}"
MediaCategories              = "SYSTEM\CurrentControlSet\Control\MediaCategories"
MediaSets                    = "System\CurrentControlSet\Control\MediaSets"
MediaInterfaces              = "System\CurrentControlSet\Control\MediaInterfaces"


; Specify the GUID for the BDA Source Filters category in GraphEdit.
;
KSCATEGORY_BDATUNER="{71985F48-1CA1-11d3-9CC8-00C04F7971E0}"

; Specify the GUID for the digital tuner Filter.
;
; NOTE!  This must match the reference guid specified in the driver's filter
;        descriptor.
;
KSSTRING_BdaPolarisSWTunerFilter="{E01E1072-3DF3-4C23-B99F-6A27A7CC7CD2}"
;
; Specify the GUID for the tuner device's SW PnP ID
;
BdaSWTuner.DeviceId =   "{828B00F0-9A04-4692-8573-535B05DFF3F4}"

TSPinID             =   "{5237C937-0A21-4f7e-B338-DE0D0793D03F}"
TSPinName           =   "TS Out"
TSFriendlyName      =   "Conexant Polaris AVStream TS Capture(ATSC)"
KsTSNameFilter      =   "{452660BD-3B39-4e34-9B97-3D3BC054AF5D}"
; hard encoder
EncoderFriendlyName          = "Conexant Polaris MPEG Encoder"
EncoderReferenceGuid         = "{A287811A-4C4B-4176-9750-039B0C580390}"
GUID.Encoder                 = "{19689BF6-C384-48fd-AD51-90E58C79F70B}"
GUID.Multiplexer             = "{7A5DE1D3-01A1-452c-B481-4FA2B96271E8}"
Category_Encoders            = "WDM Streaming Encoder Devices"
Category_Multiplexers        = "WDM Streaming Multiplexer Devices"
Node.Encoder                 = "Encoder"
Node.Multiplexer             = "Multiplexer"
GUID.PINNAME_656_IN          = "{E415267B-9F3A-46ef-8108-0CB96124D7FD}"
PinName.656_IN               = "656"
GUID.PINNAME_656_OUT         = "{9565A615-3B97-4138-AB7C-4F97192B76D2}"
PinName.656_OUT              = "656"
GUID.PINNAME_MPEG_OUT        = "{26D7D93D-B850-41a6-8ECF-1011641B3143}"
PinName.MpegOut              = "MPEG"

GUID.IVAC_PROPERTIES         = "{87489F71-B890-4ba2-A88B-03E0B1A4EC1D}"
GUID.General_Properties_ENCODER      = "{CB4318EB-5632-4e5d-B2D7-593395601AC5}"
GUID.General_Properties_CAPTURE      = "{063108C1-C019-4d4a-8145-7C7A8AA1E700}"
GUID.Video_Properties        = "{BEB1308F-C9C1-4be6-AD6E-84EFF47C8AA1}"
GUID.Audio_Properties        = "{04734409-3C38-48f4-9436-D9210C9D01B7}"
GUID.MPEG_Properties         = "{CB7DA1F3-8563-45ed-B36A-A9473720370C}"
GUID.Diagnostic_Properties   = "{E7B88ACB-77A8-414f-AC4B-D0F84AD88129}"
GUID.Noise_Properties        = "{926226E2-277A-497f-B892-95765055FD2D}"

ActiveMovieCategories        = "CLSID\{da4e3da0-d07d-11d0-bd50-00a0c911ce86}\Instance"
